﻿using Production.CommonLib.Models;
using Swimj.CommonLib.Base;

namespace Production.RazorLib.Services
{
    public interface IProcessService
    {
        Task<PaginatedResult<ProcessInfoResponseDto>?> QueryProcessesByPage(ProcessSearchRequestDto searchRequestDto);

        Task<Result<ProcessInfoResponseDto>?> CreateProcess(ProcessEditRequestDto editRequestDto);

        Task<Result<ProcessInfoResponseDto>?> GetProcess(int key);

        Task<Result<ProcessInfoResponseDto>?> UpdateProcess(int key, ProcessEditRequestDto editRequestDto);

        Task<Result<IList<ProcessInfoResponseDto>>?> QueryProcesses(ProcessSearchRequestDto processSearchRequestDto);
    }
}